﻿/***************************************************************
 * 开发人员：网魂小兵@http://www.mozlite.com
 * 
 * 内存信息结构。
 * 
 * 最后修改：2011-10-19
 * ************************************************************/
namespace Mozlite
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.InteropServices;
    /// <summary>
    /// 内存信息结构。
    /// </summary>
    [StructLayout(LayoutKind.Sequential)]
    public struct MemoryInfo
    {
        /// <summary>
        /// 结构的大小，在调GlobalMemoryStatus函数前用sizeof()函数求得，用来供函数检测结构的版本。 
        /// </summary>
        public uint dwLength;
        /// <summary>
        /// 返回一个介于0～100之间的值，用来指示当前系统内存的使用率。 
        /// </summary>
        public uint dwMemoryLoad;
        /// <summary>
        /// 返回总的物理内存大小，以字节(byte)为单位。
        /// </summary>
        public uint dwTotalPhys;
        /// <summary>
        /// 返回可用的物理内存大小，以字节(byte)为单位。
        /// </summary>
        public uint dwAvailPhys;
        /// <summary>
        /// 显示可以存在页面文件中的字节数。注意这个数值并不表示在页面文件在磁盘上的真实物理大小。
        /// </summary>
        public uint dwTotalPageFile;
        /// <summary>
        /// 显示可以存在页面文件中的字节数。注意这个数值并不表示在页面文件在磁盘上的真实物理大小。
        /// </summary>
        public uint dwAvailPageFile;
        /// <summary>
        /// 返回调用进程的用户模式部分的全部可用虚拟地址空间，以字节(byte)为单位。
        /// </summary>
        public uint dwTotalVirtual;
        /// <summary>
        /// 返回调用进程的用户模式部分的实际自由可用的虚拟地址空间，以字节(byte)为单位。 
        /// </summary>
        public uint dwAvailVirtual;
    }
}
